1. Field of the Invention
The present invention relates to a distributed database management system for retrieving and registering data effectively.
2. Description of the Background
Recently, distributed database systems have been developed to use cooperatively distributed databases. Such distributed database systems have a plurality of computers, which are interconnected by communication lines. Each of the computers includes a database. (Each computer typically is called "site")
It is assumed that three computers A, B, and C are interconnected and include databases A, B, and C, respectively. When a data operation request is supplied to computer A through an input device, computer A checks which database includes the necessary data for the operation request. Each computer has previously had a table stored therein, including the name and location information of all data for databases A, B, and C. If the necessary data is included in database A, computer A processes the request using that data. If the necessary data is included in database B, computer A sends the data request signal to computer B. After receiving the necessary data from computer B, computer A processes the data. If the necessary data is included in database A and computer A is busy with another operation, computer A sends the necessary data and operation request signal to computer B or C. Upon receiving the operation request signal, computer B or C processes the data by using the necessary data received from computer A. Then, computer B or C sends the operation result to computer A.
In this way, in the distributed database system, if the computer is busy when the data operation request is supplied, the computer requests another computer to process the data. Accordingly, the load of each computer can be distributed.
As mentioned above, if computer A is busy and includes the necessary data in database A, computer A must send the operation request signal and the necessary data to computer B or C. Because the necessary data must be sent to the other computer through a communication line with the operation request signal, traffic on the communication line becomes heavy. Therefore, data which is repeatedly used or data which must be more reliable (for example, a bank account balance) is copied into plural databases. In the above example, the reliable data in database A would have been previously copied into database B. Accordingly, if computer A is busy, computer A must send only request operation signals to computer B. After receiving the request operation signal from computer A, computer B processes the data by using the necessary data in database B.
In the following example, it is assumed that a data request signal is supplied to the computer C and computer C decides that all necessary data for the operation is included in both database A and database B. In the prior art, during manufacture of the distributed database system the order in which computer C would request data from another computer was fixed. For example, it may be predetermined that computer C sends a request to computer A when the necessary data is included in both database A and database B. However, it is not necessarily true that the time to send the data from computer A to computer C is shorter than the time to send the data from computer B to computer C. After design of a distributed database system, it often happens that input/output devices or disk apparatus are connected to a specific computer in the distributed database system. In addition, because of the process situation at a given time, it often happens that one computer is busy while another computer is free. As a result, the particular computer in a system that may be able to send the data fastest is changeable continuously. In the prior art, when one computer supplied with a data request signal by a user must obtain the data from another computer, and the desired data is stored in a plurality of other databases, the data request signal is sent only in accordance with the pre-arranged order, without regard to the time of transmission or the processing state of the other computers.
Accordingly, it is one object of the present invention to provide a distributed database management apparatus which can retrieve data for use by one computer from another of a plurality of computers based on which computer can send the data faster.
It is another object of the present invention to provide a distributed database management apparatus which can register data from one of a plurality of computers to another of the plurality of computers based on which computer can retrieve the data according to a desired retrieval time.
Additional objects and advantages of the invention will be apparent from the description which follows, or may be learned by practice of the invention.